<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<script>
			"use strict";
			var arr = ['A','B','C'];
			arr.name = 'test';
			//for in
			//for ... in循环它遍历的实际上是对象的属性名称。一个Array数组实际上也是一个对象，它的每个元素的索引被视为一个属性。
			//当我们手动给Array对象添加了额外的属性后，for ... in循环将带来意想不到的意外效果：
			//for ... in循环将把name包括在内，但Array的length属性却不包括在内
			for(var key in arr) {
//				console.log(key);
			}
			//for of
			//for ... of循环则完全修复了这些问题，它只循环集合本身的元素：
			for(var key of arr) {
//				console.log(key);
			}
			//
			arr.forEach(function (element, index, array) {
    			// element: 指向当前元素的值
    			// index: 指向当前索引
    			// array: 指向遍历的Array对象本身
    			console.log(index);
    			console.log(element);
			});
		</script>
	</body>
</html>
